package com.sojson.entity.po;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.sojson.base.impl.BaseUser;
import com.sojson.constant.Constant;
import com.sojson.enums.EEarnestMoneyStatus;
import com.sojson.enums.EIsPayPwd;
import com.sojson.enums.EUserAuthStatus;
import com.sojson.enums.core.EDisableAtType;
import com.sojson.enums.core.ELoginMoreOnlineType;
import com.sojson.enums.core.ESex;
import com.sojson.enums.core.EUserStatus;
import com.sojson.util.DateUtil;
import com.sojson.util.StringUtil;
import com.sojson.util.id.GUIDUtil;
import com.sojson.util.id.NoUtil;
import com.sojson.util.pwd.PwdUtil;
import com.sojson.util.token.TokenVo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 用户表Bean
 * 
 * @author liu
 * @date 2021-03-16
 */
@ApiModel("用户表Bean")
public class Member extends BaseUser {

    /**
     * 此文件由工具自动生成，手动添加内容请放至末尾
     */

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("用户编号")
    private String no;
    @ApiModelProperty("昵称")
    private String nickName;
    @ApiModelProperty("头像")
    private String headImg;
    @ApiModelProperty("姓名")
    private String name;
    @ApiModelProperty("年龄")
    private Integer age;
    @ApiModelProperty("性别(1:未知,2:男,3:女)")
    private Integer sex;
    @ApiModelProperty("身份证号")
    private String idCard;
    @ApiModelProperty("身份证正面")
    private String idCardFront;
    @ApiModelProperty("身份证反面")
    private String idCardVerso;
    @JsonFormat(pattern = "yyyy-MM-dd")
    @JSONField(format = "yyyy-MM-dd")
    @ApiModelProperty("出生年月")
    private Date birthDate;
    @ApiModelProperty("学历ID(1:初中,2:中专,3:高中,4:大专,5:本科,6:硕士,7:博士)")
    private Integer education;
    @ApiModelProperty("学历状态(1:在校,2:应届生,3:毕业)")
    private Integer educationStatus;
    @ApiModelProperty("期望职位")
    private String expectedPosition;
    @ApiModelProperty("期望薪资类型(1:3k以下,2:3-5k,3:5-10k,4:10-15k,5:15-20k,6:20-30k,7:30-50k,8:50k以上)")
    private Integer expectedSalary;
    @ApiModelProperty("自我评价")
    private String selfAppraisal;
    @ApiModelProperty("认证状态(1:审核中,2:失败,3:成功,4:未添加)")
    private Integer authStatus;
    @ApiModelProperty("认证审核信息")
    private String authAuditMessage;
    @ApiModelProperty("微信号")
    private String wxNo;
    @ApiModelProperty("工作经验ID(1:在校生,2:应届生,3:1年以内,4:1-3年,5:3-5年,6:5-10年,7:10年以上)")
    private Integer workExperience;
    @ApiModelProperty("佣金累计")
    private BigDecimal balanceSum;
    @ApiModelProperty("佣金提现到微信")
    private BigDecimal balanceWithdrawWx;
    @ApiModelProperty("佣金提现到余额")
    private BigDecimal balanceWithdrawBrokerage;
    @ApiModelProperty("余额")
    private BigDecimal brokerage;
    @ApiModelProperty("余额累计")
    private BigDecimal brokerageSum;
    @ApiModelProperty("余额提现")
    private BigDecimal brokerageWithdraw;
    @ApiModelProperty("销量")
    private Long salesVolume;
    @ApiModelProperty("评论数量")
    private Long commentCount;
    @ApiModelProperty("评论总星级")
    private BigDecimal commentCountStarLevel;
    @ApiModelProperty("好评数量")
    private Long commentGoodCount;
    @ApiModelProperty("店铺星级")
    private Float starLevelStore;
    @ApiModelProperty("酒店星级")
    private Integer starLevelHotel;
    @ApiModelProperty("是否设置支付密码(1:是,2:否)")
    private Integer isPayPwd;
    @ApiModelProperty("支付密码")
    private String payPwd;
    @ApiModelProperty("诚意金状态(1:未支付,2:已支付)")
    private Integer earnestMoneyStatus;
    @ApiModelProperty("诚意金订单号")
    private String earnestMoneyOrderNo;
    @ApiModelProperty("用户在微信上的唯一标识")
    private String wxUnionid;
    @ApiModelProperty("帐号")
    private String username;
    @ApiModelProperty("手机号")
    private String mobile;
    @ApiModelProperty("密码")
    private String pwd;
    @ApiModelProperty("此帐号允许在多地同时在线的类型(1:不限制登录数量,2:只允许一台设备登录,3:每种类型的设备只允许一台登录,4:所有设备只允许一定数量登录,5:每种类型的设备允许一定数量登录)")
    private Integer typeMoreOnline;
    @ApiModelProperty("此帐号允许同时在线的最大数量")
    private Integer onlineMaxNumber;
    @ApiModelProperty("状态 1正常 2禁用")
    private Integer status;
    @ApiModelProperty("商户类型集合(逗号拼接)")
    private String merchantTypes;
    @ApiModelProperty("省")
    private String province;
    @ApiModelProperty("市")
    private String city;
    @ApiModelProperty("区")
    private String area;
    @ApiModelProperty("详细地址")
    private String address;
    @ApiModelProperty("经度")
    private Float targetX;
    @ApiModelProperty("维度")
    private Float targetY;
    @ApiModelProperty("邀请码")
    private String invitationCode;
    @ApiModelProperty("上级ID")
    private Integer topId;
    @ApiModelProperty("微信绑定的openid,用于佣金自动提现")
    private String openid;
    @ApiModelProperty("支付宝的openid")
    private String openidZfb;
    @ApiModelProperty("佣金余额")
    private BigDecimal balance;
    @ApiModelProperty("积分")
    private Integer points;
    @ApiModelProperty("是否企业认证 1是 2否")
    private Integer isEnterpriseAuth;
    @ApiModelProperty("有效时间类型(1:永久,2:限时)")
    private Integer disableAtType;
    @ApiModelProperty("有效时间")
    private Date disableAt;
    @ApiModelProperty("创建时间")
    private Date createdAt;
    @ApiModelProperty("更新时间")
    private Date updatedAt;
    @ApiModelProperty("劳务派遣证")
    private String laborCard;
    @ApiModelProperty("食品经营许可证")
    private String foodCard;
    @ApiModelProperty("电信增值许可证")
    private String telecomCard;
    @ApiModelProperty("第一次有效订单的类型(1:兼职,2:酒店,3:商城)")
    private Integer firstOrderType;
    @ApiModelProperty("第一次有效订单的编号")
    private String firstOrderNo;
    /** 用户表集合 */
    private ArrayList<Integer> ids;
    /** 用户表集合 */
    private ArrayList<Member> members;

    /**
     * 以上由工具自动生成，以下为手动添加
     */

       /**
        * Empty constructor
        */
    public Member() {

    }

    /**
     * 此文件由工具自动生成，手动添加内容请放至末尾
     */

    /**
     * 获取用户编号
     * 
     * @return
     */
    @Override
    public String getNo() {
        return no;
    }

    /**
     * 设置用户编号
     * 
     * @param no
     */
    @Override
    public void setNo(String no) {
        this.no = no;
    }

    /**
     * 获取昵称
     * 
     * @return
     */
    public String getNickName() {
        return nickName;
    }

    /**
     * 设置昵称
     * 
     * @param nickName
     */
    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    /**
     * 获取头像
     * 
     * @return
     */
    public String getHeadImg() {
        return headImg;
    }

    /**
     * 设置头像
     * 
     * @param headImg
     */
    public void setHeadImg(String headImg) {
        this.headImg = headImg;
    }

    /**
     * 获取 姓名
     */
    public String getName() {
        return name;
    }

    /**
     * 设置 姓名
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取年龄
     * 
     * @return
     */
    public Integer getAge() {
        return age;
    }

    /**
     * 设置年龄
     * 
     * @param age
     */
    public void setAge(Integer age) {
        this.age = age;
    }

    /**
     * 获取性别(1:未知,2:男,3:女)
     * 
     * @return
     */
    public Integer getSex() {
        return sex;
    }

    /**
     * 设置性别(1:未知,2:男,3:女)
     * 
     * @param sex
     */
    public void setSex(Integer sex) {
        this.sex = sex;
    }

    /**
     * 获取身份证号
     * 
     * @return
     */
    public String getIdCard() {
        return idCard;
    }

    /**
     * 设置身份证号
     * 
     * @param idCard
     */
    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }

    /**
     * 获取身份证正面
     * 
     * @return
     */
    public String getIdCardFront() {
        return idCardFront;
    }

    /**
     * 设置身份证正面
     * 
     * @param idCardFront
     */
    public void setIdCardFront(String idCardFront) {
        this.idCardFront = idCardFront;
    }

    /**
     * 获取身份证反面
     * 
     * @return
     */
    public String getIdCardVerso() {
        return idCardVerso;
    }

    /**
     * 设置身份证反面
     * 
     * @param idCardVerso
     */
    public void setIdCardVerso(String idCardVerso) {
        this.idCardVerso = idCardVerso;
    }

    /**
     * 获取出生年月
     * 
     * @return
     */
    public Date getBirthDate() {
        return birthDate;
    }

    /**
     * 设置出生年月
     * 
     * @param birthDate
     */
    public void setBirthDate(Date birthDate) {
        this.birthDate = birthDate;
    }

    /**
     * 获取学历ID(1:初中,2:中专,3:高中,4:大专,5:本科,6:硕士,7:博士)
     * 
     * @return
     */
    public Integer getEducation() {
        return education;
    }

    /**
     * 设置学历ID(1:初中,2:中专,3:高中,4:大专,5:本科,6:硕士,7:博士)
     * 
     * @param education
     */
    public void setEducation(Integer education) {
        this.education = education;
    }

    /**
     * 获取学历状态(1:在校,2:应届生,3:毕业)
     * 
     * @return
     */
    public Integer getEducationStatus() {
        return educationStatus;
    }

    /**
     * 设置学历状态(1:在校,2:应届生,3:毕业)
     * 
     * @param educationStatus
     */
    public void setEducationStatus(Integer educationStatus) {
        this.educationStatus = educationStatus;
    }

    /**
     * 获取期望职位
     * 
     * @return
     */
    public String getExpectedPosition() {
        return expectedPosition;
    }

    /**
     * 设置期望职位
     * 
     * @param expectedPosition
     */
    public void setExpectedPosition(String expectedPosition) {
        this.expectedPosition = expectedPosition;
    }

    /**
     * 获取期望薪资类型(1:3k以下,2:3-5k,3:5-10k,4:10-15k,5:15-20k,6:20-30k,7:30-50k,8:50k以上)
     * 
     * @return
     */
    public Integer getExpectedSalary() {
        return expectedSalary;
    }

    /**
     * 设置期望薪资类型(1:3k以下,2:3-5k,3:5-10k,4:10-15k,5:15-20k,6:20-30k,7:30-50k,8:50k以上)
     * 
     * @param expectedSalary
     */
    public void setExpectedSalary(Integer expectedSalary) {
        this.expectedSalary = expectedSalary;
    }

    /**
     * 获取自我评价
     * 
     * @return
     */
    public String getSelfAppraisal() {
        return selfAppraisal;
    }

    /**
     * 设置自我评价
     * 
     * @param selfAppraisal
     */
    public void setSelfAppraisal(String selfAppraisal) {
        this.selfAppraisal = selfAppraisal;
    }

    /**
     * 获取认证状态(1:审核中,2:失败,3:成功,4:未添加)
     * 
     * @return
     */
    public Integer getAuthStatus() {
        return authStatus;
    }

    /**
     * 设置认证状态(1:审核中,2:失败,3:成功,4:未添加)
     * 
     * @param authStatus
     */
    public void setAuthStatus(Integer authStatus) {
        this.authStatus = authStatus;
    }

    /**
     * 获取认证审核信息
     * 
     * @return
     */
    public String getAuthAuditMessage() {
        return authAuditMessage;
    }

    /**
     * 设置认证审核信息
     * 
     * @param authAuditMessage
     */
    public void setAuthAuditMessage(String authAuditMessage) {
        this.authAuditMessage = authAuditMessage;
    }

    /**
     * 获取微信号
     * 
     * @return
     */
    public String getWxNo() {
        return wxNo;
    }

    /**
     * 设置微信号
     * 
     * @param wxNo
     */
    public void setWxNo(String wxNo) {
        this.wxNo = wxNo;
    }

    /**
     * 获取工作经验ID(1:在校生,2:应届生,3:1年以内,4:1-3年,5:3-5年,6:5-10年,7:10年以上)
     * 
     * @return
     */
    public Integer getWorkExperience() {
        return workExperience;
    }

    /**
     * 设置工作经验ID(1:在校生,2:应届生,3:1年以内,4:1-3年,5:3-5年,6:5-10年,7:10年以上)
     * 
     * @param workExperience
     */
    public void setWorkExperience(Integer workExperience) {
        this.workExperience = workExperience;
    }

    /**
     * 获取佣金累计
     * 
     * @return
     */
    public BigDecimal getBalanceSum() {
        return balanceSum;
    }

    /**
     * 设置佣金累计
     * 
     * @param balanceSum
     */
    public void setBalanceSum(BigDecimal balanceSum) {
        this.balanceSum = balanceSum;
    }

    /**
     * 获取佣金提现到微信
     * 
     * @return
     */
    public BigDecimal getBalanceWithdrawWx() {
        return balanceWithdrawWx;
    }

    /**
     * 设置佣金提现到微信
     * 
     * @param balanceWithdrawWx
     */
    public void setBalanceWithdrawWx(BigDecimal balanceWithdrawWx) {
        this.balanceWithdrawWx = balanceWithdrawWx;
    }

    /**
     * 获取佣金提现到余额
     * 
     * @return
     */
    public BigDecimal getBalanceWithdrawBrokerage() {
        return balanceWithdrawBrokerage;
    }

    /**
     * 设置佣金提现到余额
     * 
     * @param balanceWithdrawBrokerage
     */
    public void setBalanceWithdrawBrokerage(BigDecimal balanceWithdrawBrokerage) {
        this.balanceWithdrawBrokerage = balanceWithdrawBrokerage;
    }

    /**
     * 获取余额
     * 
     * @return
     */
    public BigDecimal getBrokerage() {
        return brokerage;
    }

    /**
     * 设置余额
     * 
     * @param brokerage
     */
    public void setBrokerage(BigDecimal brokerage) {
        this.brokerage = brokerage;
    }

    /**
     * 获取余额累计
     * 
     * @return
     */
    public BigDecimal getBrokerageSum() {
        return brokerageSum;
    }

    /**
     * 设置余额累计
     * 
     * @param brokerageSum
     */
    public void setBrokerageSum(BigDecimal brokerageSum) {
        this.brokerageSum = brokerageSum;
    }

    /**
     * 获取余额提现
     * 
     * @return
     */
    public BigDecimal getBrokerageWithdraw() {
        return brokerageWithdraw;
    }

    /**
     * 设置余额提现
     * 
     * @param brokerageWithdraw
     */
    public void setBrokerageWithdraw(BigDecimal brokerageWithdraw) {
        this.brokerageWithdraw = brokerageWithdraw;
    }

    /**
     * 获取销量
     * 
     * @return
     */
    public Long getSalesVolume() {
        return salesVolume;
    }

    /**
     * 设置销量
     * 
     * @param salesVolume
     */
    public void setSalesVolume(Long salesVolume) {
        this.salesVolume = salesVolume;
    }

    /**
     * 获取评论数量
     * 
     * @return
     */
    public Long getCommentCount() {
        return commentCount;
    }

    /**
     * 设置评论数量
     * 
     * @param commentCount
     */
    public void setCommentCount(Long commentCount) {
        this.commentCount = commentCount;
    }

    /**
     * 获取评论总星级
     * 
     * @return
     */
    public BigDecimal getCommentCountStarLevel() {
        return commentCountStarLevel;
    }

    /**
     * 设置评论总星级
     * 
     * @param commentCountStarLevel
     */
    public void setCommentCountStarLevel(BigDecimal commentCountStarLevel) {
        this.commentCountStarLevel = commentCountStarLevel;
    }

    /**
     * 获取好评数量
     * 
     * @return
     */
    public Long getCommentGoodCount() {
        return commentGoodCount;
    }

    /**
     * 设置好评数量
     * 
     * @param commentGoodCount
     */
    public void setCommentGoodCount(Long commentGoodCount) {
        this.commentGoodCount = commentGoodCount;
    }

    /**
     * 获取店铺星级
     * 
     * @return
     */
    public Float getStarLevelStore() {
        return starLevelStore;
    }

    /**
     * 设置店铺星级
     * 
     * @param starLevelStore
     */
    public void setStarLevelStore(Float starLevelStore) {
        this.starLevelStore = starLevelStore;
    }

    /**
     * 获取酒店星级
     * 
     * @return
     */
    public Integer getStarLevelHotel() {
        return starLevelHotel;
    }

    /**
     * 设置酒店星级
     * 
     * @param starLevelHotel
     */
    public void setStarLevelHotel(Integer starLevelHotel) {
        this.starLevelHotel = starLevelHotel;
    }

    /**
     * 获取是否设置支付密码(1:是,2:否)
     * 
     * @return
     */
    public Integer getIsPayPwd() {
        return isPayPwd;
    }

    /**
     * 设置是否设置支付密码(1:是,2:否)
     * 
     * @param isPayPwd
     */
    public void setIsPayPwd(Integer isPayPwd) {
        this.isPayPwd = isPayPwd;
    }

    /**
     * 获取支付密码
     * 
     * @return
     */
    @JsonIgnore
    @JSONField(serialize = false)
    public String getPayPwd() {
        return payPwd;
    }

    /**
     * 设置支付密码
     * 
     * @param payPwd
     */
    @JsonProperty
    public void setPayPwd(String payPwd) {
        this.payPwd = payPwd;
    }

    /**
     * 获取诚意金状态(1:未支付,2:已支付)
     * 
     * @return
     */
    public Integer getEarnestMoneyStatus() {
        return earnestMoneyStatus;
    }

    /**
     * 设置诚意金状态(1:未支付,2:已支付)
     * 
     * @param earnestMoneyStatus
     */
    public void setEarnestMoneyStatus(Integer earnestMoneyStatus) {
        this.earnestMoneyStatus = earnestMoneyStatus;
    }

    /**
     * 获取诚意金订单号
     * 
     * @return
     */
    public String getEarnestMoneyOrderNo() {
        return earnestMoneyOrderNo;
    }

    /**
     * 设置诚意金订单号
     * 
     * @param earnestMoneyOrderNo
     */
    public void setEarnestMoneyOrderNo(String earnestMoneyOrderNo) {
        this.earnestMoneyOrderNo = earnestMoneyOrderNo;
    }

    /**
     * 获取用户在微信上的唯一标识
     * 
     * @return
     */
    public String getWxUnionid() {
        return wxUnionid;
    }

    /**
     * 设置用户在微信上的唯一标识
     * 
     * @param wxUnionid
     */
    public void setWxUnionid(String wxUnionid) {
        this.wxUnionid = wxUnionid;
    }

    /**
     * 获取帐号
     * 
     * @return
     */
    public String getUsername() {
        return username;
    }

    /**
     * 设置帐号
     * 
     * @param username
     */
    public void setUsername(String username) {
        this.username = username;
    }

    /**
     * 获取 手机号
     */
    public String getMobile() {
        return mobile;
    }

    /**
     * 设置 手机号
     */
    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    /**
     * 获取 密码
     */
    @JsonIgnore
    @JSONField(serialize = false)
    public String getPwd() {
        return pwd;
    }

    /**
     * 设置 密码
     */
    @JsonProperty
    public void setPwd(String pwd) {
        this.pwd = pwd;
    }

    /**
     * 获取 此帐号允许在多地同时在线的类型(1:不限制登录数量,2:只允许一台设备登录,3:每种类型的设备只允许一台登录,4:所有设备只允许一定数量登录,5:每种类型的设备允许一定数量登录)
     */
    public Integer getTypeMoreOnline() {
        return typeMoreOnline;
    }

    /**
     * 设置 此帐号允许在多地同时在线的类型(1:不限制登录数量,2:只允许一台设备登录,3:每种类型的设备只允许一台登录,4:所有设备只允许一定数量登录,5:每种类型的设备允许一定数量登录)
     */
    public void setTypeMoreOnline(Integer typeMoreOnline) {
        this.typeMoreOnline = typeMoreOnline;
    }

    /**
     * 获取 此帐号允许同时在线的最大数量
     */
    public Integer getOnlineMaxNumber() {
        return onlineMaxNumber;
    }

    /**
     * 设置 此帐号允许同时在线的最大数量
     */
    public void setOnlineMaxNumber(Integer onlineMaxNumber) {
        this.onlineMaxNumber = onlineMaxNumber;
    }

    /**
     * 获取 状态 1正常 2禁用
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * 设置 状态 1正常 2禁用
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    /**
     * 获取 商户类型集合(逗号拼接)
     */
    public String getMerchantTypes() {
        return merchantTypes;
    }

    /**
     * 设置 商户类型集合(逗号拼接)
     */
    public void setMerchantTypes(String merchantTypes) {
        this.merchantTypes = merchantTypes;
    }

    /**
     * 获取 省
     */
    public String getProvince() {
        return province;
    }

    /**
     * 设置 省
     */
    public void setProvince(String province) {
        this.province = province;
    }

    /**
     * 获取 市
     */
    public String getCity() {
        return city;
    }

    /**
     * 设置 市
     */
    public void setCity(String city) {
        this.city = city;
    }

    /**
     * 获取 区
     */
    public String getArea() {
        return area;
    }

    /**
     * 设置 区
     */
    public void setArea(String area) {
        this.area = area;
    }

    /**
     * 获取 详细地址
     */
    public String getAddress() {
        return address;
    }

    /**
     * 设置 详细地址
     */
    public void setAddress(String address) {
        this.address = address;
    }

    /**
     * 获取 经度
     */
    public Float getTargetX() {
        return targetX;
    }

    /**
     * 设置 经度
     */
    public void setTargetX(Float targetX) {
        this.targetX = targetX;
    }

    /**
     * 获取 维度
     */
    public Float getTargetY() {
        return targetY;
    }

    /**
     * 设置 维度
     */
    public void setTargetY(Float targetY) {
        this.targetY = targetY;
    }

    /**
     * 获取邀请码
     * 
     * @return
     */
    public String getInvitationCode() {
        return invitationCode;
    }

    /**
     * 设置邀请码
     * 
     * @param invitationCode
     */
    public void setInvitationCode(String invitationCode) {
        this.invitationCode = invitationCode;
    }

    /**
     * 获取 上级ID
     */
    public Integer getTopId() {
        return topId;
    }

    /**
     * 设置 上级ID
     */
    public void setTopId(Integer topId) {
        this.topId = topId;
    }

    /**
     * 获取 微信绑定的openid,用于佣金自动提现
     */
    public String getOpenid() {
        return openid;
    }

    /**
     * 设置 微信绑定的openid,用于佣金自动提现
     */
    public void setOpenid(String openid) {
        this.openid = openid;
    }

    /**
     * 获取支付宝的openid
     * 
     * @return
     */
    public String getOpenidZfb() {
        return openidZfb;
    }

    /**
     * 设置支付宝的openid
     * 
     * @param openidZfb
     */
    public void setOpenidZfb(String openidZfb) {
        this.openidZfb = openidZfb;
    }

    /**
     * 获取 佣金余额
     */
    public BigDecimal getBalance() {
        return balance;
    }

    /**
     * 设置 佣金余额
     */
    public void setBalance(BigDecimal balance) {
        this.balance = balance;
    }

    /**
     * 获取 积分
     */
    public Integer getPoints() {
        return points;
    }

    /**
     * 设置 积分
     */
    public void setPoints(Integer points) {
        this.points = points;
    }

    /**
     * 获取是否企业认证 1是 2否
     * 
     * @return
     */
    public Integer getIsEnterpriseAuth() {
        return isEnterpriseAuth;
    }

    /**
     * 设置是否企业认证 1是 2否
     * 
     * @param isEnterpriseAuth
     */
    public void setIsEnterpriseAuth(Integer isEnterpriseAuth) {
        this.isEnterpriseAuth = isEnterpriseAuth;
    }

    /**
     * 获取 有效时间类型(1:永久,2:限时)
     * 
     * @return
     */
    public Integer getDisableAtType() {
        return disableAtType;
    }

    /**
     * 设置 有效时间类型(1:永久,2:限时)
     * 
     * @param disableAtType
     */
    public void setDisableAtType(Integer disableAtType) {
        this.disableAtType = disableAtType;
    }

    /**
     * 获取 有效时间
     * 
     * @return
     */
    public Date getDisableAt() {
        return disableAt;
    }

    /**
     * 设置 有效时间
     * 
     * @param disableAt
     */
    public void setDisableAt(Date disableAt) {
        this.disableAt = disableAt;
    }

    /**
     * 获取 有效时间
     * 
     * @return
     */
    public Long getDisableDay() {
        Date time = getDisableAt();
        if (StringUtil.isNotBlankObject(time)) {
            return DateUtil.getDate(DateUtil.nowDate(), time);
        }

        return null;
    }

    /**
     * 获取 创建时间
     */
    public Date getCreatedAt() {
        return createdAt;
    }

    /**
     * 设置 创建时间
     */
    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    /**
     * 获取 更新时间
     */
    public Date getUpdatedAt() {
        return updatedAt;
    }

    /**
     * 设置 更新时间
     */
    public void setUpdatedAt(Date updatedAt) {
        this.updatedAt = updatedAt;
    }

    /**
     * 获取 用户表集合
     */
    public ArrayList<Integer> getIds() {
        return ids;
    }

    /**
     * 设置 用户表集合
     */
    public void setIds(ArrayList<Integer> ids) {
        this.ids = ids;
    }

    /**
     * 获取 用户表集合
     */
    public ArrayList<Member> getMembers() {
        return members;
    }

    /**
     * 设置 用户表集合
     */
    public void setMembers(ArrayList<Member> members) {
        this.members = members;
    }

    /**
     * 以上由工具自动生成，以下为手动添加
     */

    /**
     * 获取劳务派遣证
     * 
     * @return
     */
    public String getLaborCard() {
        return laborCard;
    }

    /**
     * 设置劳务派遣证
     * 
     * @param laborCard
     */
    public void setLaborCard(String laborCard) {
        this.laborCard = laborCard;
    }

    /**
     * 获取食品经营许可证
     * 
     * @return
     */
    public String getFoodCard() {
        return foodCard;
    }

    /**
     * 设置食品经营许可证
     * 
     * @param foodCard
     */
    public void setFoodCard(String foodCard) {
        this.foodCard = foodCard;
    }

    /**
     * 获取电信增值许可证
     * 
     * @return
     */
    public String getTelecomCard() {
        return telecomCard;
    }

    /**
     * 设置电信增值许可证
     * 
     * @param telecomCard
     */
    public void setTelecomCard(String telecomCard) {
        this.telecomCard = telecomCard;
    }

    /**
     * 获取第一次有效订单的类型(1:兼职,2:酒店,3:商城)
     * 
     * @return
     */
    public Integer getFirstOrderType() {
        return firstOrderType;
    }

    /**
     * 设置第一次有效订单的类型(1:兼职,2:酒店,3:商城)
     * 
     * @param firstOrderType
     */
    public void setFirstOrderType(Integer firstOrderType) {
        this.firstOrderType = firstOrderType;
    }

    /**
     * 获取第一次有效订单的编号
     * 
     * @return
     */
    public String getFirstOrderNo() {
        return firstOrderNo;
    }

    /**
     * 设置第一次有效订单的编号
     * 
     * @param firstOrderNo
     */
    public void setFirstOrderNo(String firstOrderNo) {
        this.firstOrderNo = firstOrderNo;
    }

    /**
     * 插入初始化
     * @throws Exception 
     */
    public void insertInit(TokenVo token) throws Exception {
        setNo(GUIDUtil.generateGuid());
        setBalance(new BigDecimal("0"));
        setBalanceSum(new BigDecimal("0"));
        setBalanceWithdrawWx(new BigDecimal("0"));
        setBalanceWithdrawBrokerage(new BigDecimal("0"));
        setBrokerage(new BigDecimal("0"));
        setBrokerageSum(new BigDecimal("0"));
        setBrokerageWithdraw(new BigDecimal("0"));
        setEarnestMoneyStatus(EEarnestMoneyStatus.NO.getCode());
        setSex(ESex.UNKNOWN.getCode());
        setAuthStatus(EUserAuthStatus.NO.getCode());
        setTypeMoreOnline(ELoginMoreOnlineType.ONE.getCode());
        setOnlineMaxNumber(1);
        setStatus(EUserStatus.NORMAL.getCode());
        setPoints(0);
        setIsPayPwd(EIsPayPwd.NO.getCode());
        setSalesVolume(0L);
        setCommentCount(0L);
        setCommentCountStarLevel(new BigDecimal("0"));
        setCommentGoodCount(0L);
        setStarLevelStore(5.0F);
        setStarLevelHotel(3);
        int code = EDisableAtType.TIME_LIMIT.getCode();
        Integer dayGoOn = token.getDayGoOn();
        setDisableAtType(StringUtil.isBlankObject(dayGoOn) ? EDisableAtType.FOR_EVER.getCode() : code);
        if (getDisableAtType() == code) {
            setDisableAt(new Date(DateUtil.nowLong() + Constant.MILLIS_DAY * dayGoOn));
        } else {
            setDisableAt(null);
        }
        Date now = DateUtil.nowDate();
        setCreatedAt(now);
        setUpdatedAt(now);
    }

    /**
     * 更新初始化
     */
    public void updateInit() {
        Date now = DateUtil.nowDate();
        setUpdatedAt(now);
    }

    /**
     * 更新初始化
     */
    public void setUpdateNull() {
        setPwd(null);
        setPayPwd(null);
        setUpdateNullWeb();
    }

    /**
     * 更新初始化
     */
    public void setUpdateNullWeb() {
        setName(null);
        setIdCard(null);
        setIdCardFront(null);
        setIdCardVerso(null);
        setUsername(null);
        setStatus(null);
        setInvitationCode(null);
        setWxUnionid(null);
        setUsername(null);
        setAuthStatus(null);
        setTopId(null);
        setPoints(null);
        setBalance(null);
        setBalanceSum(null);
        setBalanceWithdrawWx(null);
        setBalanceWithdrawBrokerage(null);
        setBrokerage(null);
        setBrokerageSum(null);
        setBrokerageWithdraw(null);
        setEarnestMoneyStatus(null);
        setEarnestMoneyOrderNo(null);
        setFirstOrderType(null);
        setFirstOrderNo(null);
        setSalesVolume(null);
        setCommentCount(null);
        setCommentCountStarLevel(null);
        setCommentGoodCount(null);
        setStarLevelStore(null);
        setStarLevelHotel(null);
    }

    /**
     * 生成邀请码
     */
    public void createInvitationCode() {
        setInvitationCode(NoUtil.yqm(getId()));
    }

    /**
     * 密码加密
     * @throws Exception 
     */
    public void encryptionPwd() throws Exception {
        setPwd(PwdUtil.encryptionPwd(getPwd()));
    }

}